package com.shijie.sjoj.model.component;

/**
 * 日志颜色Ansi转义
 *
 * @author ZSJ
 */
public final class LogAnsi {
   /*
   提示：'\u001B' 与 '\033' 转义一样
   */
    /**
     * 红色前景前缀
     */
    private static final String Red_Prefix = "\033[31m";

    /**
     * 绿色前景前缀
     */
    private static final String Green_Prefix = "\033[32m";

    /**
     * 黄色前景前缀
     */
    private static final String Yellow_Prefix = "\033[33m";

    /**
     * 蓝色前景前缀
     */
    private static final String Blue_Prefix = "\033[34m";

    /**
     * 紫色前景前缀
     */
    private static final String Magenta_Prefix = "\033[35m";

    /**
     * 青色前景前缀
     */
    private static final String Cyan_Prefix = "\033[36m";

    /**
     * Ansi后缀
     */
    private static final String Ansi_Suffix = "\033[0m";

    /**
     * 红色日志
     *
     * @param str 源内容
     * @return 格式化后的源内容
     */
    public static String red(String str) {
        return Red_Prefix + str + Ansi_Suffix;
    }

    /**
     * 绿色日志
     *
     * @param str 源内容
     * @return 格式化后的源内容
     */
    public static String green(String str) {
        return Green_Prefix + str + Ansi_Suffix;
    }

    /**
     * 黄色日志
     *
     * @param str 源内容
     * @return 格式化后的源内容
     */
    public static String yellow(String str) {
        return Yellow_Prefix + str + Ansi_Suffix;
    }

    /**
     * 蓝色日志
     *
     * @param str 源内容
     * @return 格式化后的源内容
     */
    public static String blue(String str) {
        return Blue_Prefix + str + Ansi_Suffix;
    }

    /**
     * 紫色日志
     *
     * @param str 源内容
     * @return 格式化后的源内容
     */
    public static String magenta(String str) {
        return Magenta_Prefix + str + Ansi_Suffix;
    }

    /**
     * 青色日志
     *
     * @param str 源内容
     * @return 格式化后的源内容
     */
    public static String cyan(String str) {
        return Cyan_Prefix + str + Ansi_Suffix;
    }


}
